#ifndef DEPENDENCIES_HEADER
#define DEPENDENCIES_HEADER

#include <vector>
enum state { PLAY, PAUSE, GAMEOVER, MENU, VIDEO, CINEMATIC };		//All states the game could be in
enum DRAWINGSTATE {COLORWHITE, COLORBLACK, COLORRED, COLORBLUE};
enum UPDATINGSTATE {DEFAULT, XROTATIONINCTEN, YROTATIONINCTEN, ZROTATIONINCTEN};

enum DIRECTIONSTATE {NONE, LEFT, RIGHT, UP, DOWN};

enum InterfaceID {DRAWABLE, UPDATABLE, SERIALIZABLE};

struct POINT3D {
	float x,y,z;
};

struct VECTOR {
	float x,y,z;
};

struct ORIENTATION {
	float degree;
	POINT3D orientVect;
};

struct COLOR {
	float r,g,b;
};

struct SCALE {
	float x,y,z;
};

struct MESH {
	std::vector<POINT3D> Point3DsVector;
};

struct PYRAMIDMESH {
	POINT3D topCorner, bottomCorner1, bottomCorner2, bottomCorner3, bottomCorner4;
};

struct CUBEMESH {
	POINT3D leftFrontTop, rightFrontTop, leftBackTop, rightBackTop, leftFrontBottom, rightFrontBottom, leftBackBottom, rightBackBottom;
};

enum ENTITYTYPE { CAMERA, SHIPSHOT, BACKGROUND, SHIP, PLANNERENEMY, REACTIVEENEMY, GAMEHUD };	//The enum for serializing the type of entity

#endif